In certain flash non-volatile memories of the prior art, it has been customary to provide a “write protect” pin associated with a memory chip package to prevent program and erase operations to certain locations, such as a boot block sector. A sector in a flash memory device is simply a partition of the memory array itself. Flash memory devices are comprised of an array of memory cells grouped into a series of rows and columns. Each row contains a number of memory cells that represent a number of bytes. Most flash memory arrays are arranged so that a number of rows are then grouped into sectors or blocks in which each sector or block contains thousands of bytes (kilobytes).
It is common for a flash memory array to be divided into several sectors, and in some flash memory devices, the size of the sectors will vary from one another. For example, an 8 megabit device may incorporate a sector arrangement of a single 32 kilobyte sector, eight 4 kilobyte sectors, a single 64 kilobyte sector, and seven 128 kilobyte sectors. In a particular system design, the first sector in the array, the 32 kilobyte sector, may be allocated to store boot code, while the smaller 4 kilobyte sectors may be allocated for configuration data and parameter storage. Some of the larger sectors in the array may be used to store the system's main program code with the remaining sectors allocated for user data storage.
In many system design, it is desirable to protect some of these sectors against unintentional or malicious program and erase operations. In the example described above, the sectors storing the boot code, the configuration data, and the main program code would most likely need to be protected. If any of these sectors were to be inadvertently erased or programmed with erroneous information, then the system would not function properly. The sectors allocated for user data storage are less critical and would not have an impact on the basic system operation if they were erased and reprogrammed, so they would most likely not need to be protected.
Previously defined methods for write protection schemes have been limited in their flexibility and function. An object of the invention was to provide a write protection method for a non-volatile memory device that is much more versatile and flexible than previously existed.